--[[
single_char_prior_filter: 候选项重排序，使单字优先
--]]

local function filter(input)
   local malti_char_list = {}
   for cand in input:iter() do
      if (utf8.len(cand.text) == 1) then
	 yield(cand) -- 单字先生成
      else
	 table.insert(malti_char_list, cand)
      end
   end
   for index, cand in ipairs(malti_char_list) do
      yield(cand) -- 多字后生成
   end
end

return filter

